package com.fire.security.mapper;



import com.fire.security.annotation.AutoFill;
import com.fire.security.domain.Articles;
import com.fire.security.enumeration.OperationType;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface ArticlesMapper {
    /**
     * 删除文章
     *
     * @param articleId 文章主键
     */
    int deleteById(@Param("articleId") Integer articleId);

    /**
     * 插入文章
     *
     * @param articles 文章实体
     */
    @AutoFill(OperationType.INSERT)
    int insert(Articles articles);

    /**
     * 查询文章
     *
     * @param articles 文章实体
     */
    List<Articles> selectArticles(Articles articles);

    /**
     * 更新文章观看量
     *
     * @param articleId 文章Id
     * @param viewerNumber 文章观看量
     */
    int updateViewerNumber(@Param("articleId") Integer articleId, @Param("viewerNumber") Integer viewerNumber);

    /**
     * 选择性添加文章
     * @param articles 文章实体
     */
    int insertSelective(Articles articles);

    /**
     * 通过Id查找文章
     * @param articleId 文章Id
     */
    Articles selectById(@Param("articleId") Integer articleId);
    /**
     * 更新文章
     * @param articles 文章实体
     */@AutoFill(OperationType.UPDATE)
    int updateByIdSelective(Articles articles);
    @AutoFill(OperationType.UPDATE)
    int updateById(Articles articles);
}
